package com.gljx.web.dao;

import com.gljx.web.Entity.SubjectTwoReg;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

@Component
public interface SubjectTwoRegMapper {
	int deleteByPrimaryKey(String fid);

	int insert(SubjectTwoReg record);

	int insertSelective(SubjectTwoReg record);

	SubjectTwoReg selectByPrimaryKey(String fid);

	int updateByPrimaryKeySelective(SubjectTwoReg record);

	int updateByPrimaryKey(SubjectTwoReg record);

	/**
	 * 查找最大编码
	 * @return
	 */
	String selectFnumber(String companyId);

	/**
	 * 根据业务日期查找科目二考试登记信息的单据
	 * @param fbizdate
	 * @param cfcartype
	 * @return
	 */
	List<SubjectTwoReg> selSubjectTwoRegByfbizdate(@Param("companyid") String companyid,@Param("fbizdate") String fbizdate,@Param("cfcartype")String cfcartype);

	/**
	 * 统计查询科目二 报考人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectTwoReg> selSubjectTwoSumEnterPersons(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目二 考试合格 不合格 缺考 人数 按日期
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectTwoReg> selSubjectTwoResultPassExamRate(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目二 报考人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectTwoReg> selSubjectTwoSumEnterPersonsByMonth(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 统计查询科目二 考试合格 不合格 缺考 人数 按月份
	 * @param companyId
	 * @param beginTime
	 * @param endTime
	 * @return
	 */
	List<SubjectTwoReg> selSubjectTwoResultPassExamRateByMonth(@Param("companyId") String companyId,@Param("beginTime") String beginTime,@Param("endTime") String endTime);

	/**
	 * 查找科目二考试登记 用于导出excel
	 * @param map
	 * @return
	 */
	List<SubjectTwoReg> selectSubjectTwoReg(Map map);
}

